import { ipcMain ,BrowserWindow } from 'electron'
export const setupWindowHandlers = () => {

    // 最小化窗口
    ipcMain.handle('window:minimize', (e) => {
        // 从事件发送者获取窗口实例
        const win = BrowserWindow.fromWebContents(e.sender)
        if (win) {
            win.minimize()
        } else {
            console.error('无法获取窗口实例，无法最小化')
        }
    })

    // 最大化/恢复窗口
    ipcMain.handle('window:maximize', (e) => {
        // 从事件发送者获取窗口实例 
        const win = BrowserWindow.fromWebContents(e.sender)
        if (win) {
            // 检查窗口是否已最大化
            if (win.isMaximized()) {
                win.unmaximize()
            } else {
                win.maximize()
            }
        } else {
            console.error('无法获取窗口实例，无法最大化')
        }
    })

    // 关闭窗口
    ipcMain.handle('window:close', (e) => {
        const win = BrowserWindow.fromWebContents(e.sender)
        if (win) {
            win.close()
        } else {
            console.error('无法获取窗口实例，无法关闭')
        }
    })

    // 获取窗口ID
    ipcMain.handle('window:get-window-id', (e) => {
        const win = BrowserWindow.fromWebContents(e.sender)
        if (win) {
            return win.id
        } else {
            console.error('无法获取窗口实例')
            return null
        }
    })
}
